package com.yanyu.space.common.db.pagination;


import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yanyu.space.common.core.bean.db.PageEntity;

/**
 * @author yanyu
 */
public class PageUtil {

    public static <T> IPage<T> getParam() {
        return PageContext.get();
    }

    public static <T> IPage<T> getMaxParam() {
        PageContext.setMax();
        return PageContext.get();
    }
    public static <T> IPage<T> getParam(Integer pageNum, Integer pageSize) {
        PageContext.set(pageNum, pageSize);
        return PageContext.get();
    }

    public static <U, T> PageEntity<U> getResult(IPage<T> page, Class<U> clazz) {
        return new PageEntity(new Long(page.getTotal()).intValue(), BeanUtil.copyToList(page.getRecords(), clazz));
    }

    public static <T> PageEntity<T> getResult(IPage<T> page) {
        return new PageEntity(new Long(page.getTotal()).intValue(), page.getRecords());
    }
}
